/*
** $ 身份：嘞初始.c $
** 初始化 炉啊.c 和其他客户端的库
** 请参见 炉啊.h 中的版权声明
*/

#define 嘞初始_西
#define 炉啊_库

/*
**如果您将 炉啊 嵌入程序中并且需要打开标准
**库,在程序中调用 炉啊嘞_开库 . 如果您需要
**不同的库集,将此文件复制到您的项目中并进行编辑
**它可以满足您的需求.
**
**您也可以 *预载* 库,以便以后的 "请求" 可以
**打开已链接到应用程序的库.
**为此,请执行以下代码:
**
** 炉啊嘞_取子表(嘞, 炉啊_寄存器索引, 炉啊_预载_表);
** 炉啊_推西函数(嘞, 炉啊开_模名字);
** 炉啊_设置字段(嘞, -2, 模名字);
** 炉啊_弹(嘞, 1); //移除预载表
*/

#include "嘞前缀.h"
#include <stddef.h>

#include "炉啊.h"

#include "炉啊库.h"
#include "嘞辅库.h"

/*
** 这些库由 炉啊.c 加载，任何 炉啊 都可以使用
** 程序
*/
static const 炉啊嘞_寄 已载库[] = {
  {炉啊_哥名字, 炉啊开_基础},
  {炉啊_载库名字, 炉啊开_包},
  {炉啊_协程库名字, 炉啊开_协程},
  {炉啊_表库名字, 炉啊开_表},
  {炉啊_入出库名字, 炉啊开_入出},
  {炉啊_操作系统库名字, 炉啊开_操作系统},
  {炉啊_串库名字, 炉啊开_串},
  {炉啊_数学库名字, 炉啊开_数学},
  {炉啊_UTF8库名字, 炉啊开_utf8},
  {炉啊_调试库名字, 炉啊开_调试},
  {NULL, NULL}
};

炉啊库_应用程序接口 void 炉啊嘞_开库 (炉啊_国 *嘞) {
  const 炉啊嘞_寄 *库;
  /* 来自 "已载库" 的 "请求" 函数并将结果设置为全局表 */
  for (库 = 已载库; 库->函; 库++) {
    炉啊嘞_请求弗(嘞, 库->名字, 库->函, 1);
    炉啊_弹(嘞, 1);  /* 移除 库 */
  }
}